#pragma once

#include "Segment3d.h"

#include <math.h>

namespace Geometry
  {
  Segment3d::Segment3d(const Point3d& i_begin, const Point3d& i_end)
    : m_point_begin(i_begin), m_point_end(i_end)
    {

    }

  double Segment3d::GetLength() const
    {
    double lng = 0.0;
    lng += (m_point_end[0] - m_point_begin[0])*(m_point_end[0] - m_point_begin[0]);
    lng += (m_point_end[1] - m_point_begin[1])*(m_point_end[1] - m_point_begin[1]);
    lng += (m_point_end[2] - m_point_begin[2])*(m_point_end[2] - m_point_begin[2]);
    return sqrt(lng);
    }

  Point3d Segment3d::GetBegin() const
    {
    return m_point_begin;
    }

  Point3d Segment3d::GetEnd() const
    {
    return m_point_end;
    }

  }